﻿using HDS.Model.Entity.Master;
using HDS.Model.Entity.View;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HDS.IService.Master
{
    public interface IDataCacheService
    {
        Task<DistributorConfig> GetDistributorConfig(string distributor);

        Task<VDistributorHotel> GetHotel(string distributor, int hotelId);

        Task<List<DistributorSupplierSetting>> GetSupplierSettings(string distributor, int hotelId, DateTime checkinDate, DateTime checkoutDate, string countryCode, string cityCode);

        Task<List<SupplierApiConfig>> GetSupplierApiConfigs(string[] suppliers);

        Task<List<HotelCommission>> GetHotelCommissions(string distributor, int hotelId, DateTime checkinDate, DateTime checkoutDate, string countryCode, string cityCode);

        Task<List<VMappingRoom>> GetRoomMappings(int hotelId);

        Task<List<ExchangeRate>> GetExchangeRates();

        Task RemoveCache(string cacheKey);
    }
}
